package com.bt.lms.ui.page.common;

import com.bt.lms.ui.page.sys.style.LabStyle;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;

/**
 * 界面定位
 * @author 徐大永
 */
public class PageLocation extends HBox {

    /**
     * 索引盒子
     */
    private final HBox index = new HBox();

    /**
     * 界面定位
     * @param strings 全部索引
     */
    public PageLocation(String... strings){

        //控制数据
        int height = 42;
        //大小
        this.setPrefHeight(height);
        //布局
        Insets insets = new Insets(5);
        this.setPadding(insets);
        this.setSpacing(0);
        this.setAlignment(Pos.CENTER_LEFT);

        //初始化名称
        HBox hBox = new HBox();
        nameInit(hBox);
        this.getChildren().add(hBox);

        //创建目录
        createDir(strings);
        this.getChildren().add(index);

    }

    /**
     * 名称初始化（当前位置：🏠）
     * @param hBox 名称盒子
     */
    private void nameInit(HBox hBox) {

        //组件
        Label siteLab = new Label("当前位置：");
        LabStyle.notWeight(siteLab);//不重要（颜色浅）
        LabStyle.locationSize(siteLab);//位置样式

        Label label = new Label("🏠");
        LabStyle.notWeight(label, 0.3);
        LabStyle.locationSize(label);

        //添加组件
        hBox.getChildren().addAll(siteLab, label);

    }

    /**
     * 创建目录
     * @param strings 所有目录
     */
    private void createDir(String[] strings) {

        //每个定位索引的通用符号
        String general = ">";

        for (int i = 0;i<strings.length;i++){

            //输入的显示名称
            String name = strings[i];
            //界面分隔符
            Label label1 = new Label(general);
            LabStyle.notWeight(label1);
            //界面显示文本
            Label label = new Label(name);
            //id为输入的显示名称
            label.setId(name);
            //id添加
            index.getChildren().addAll(label1,label);

            if (i == strings.length-1){
                //最后一次循环   标签样式
                LabStyle.notWeight(label);
                LabStyle.locationSize(label);
            }else {
                //不是最后一次循环   标签样式
                LabStyle.notWeight(label);
                LabStyle.interaction(label);
                LabStyle.locationSize(label);
            }
        }
    }


    public HBox getIndex() {
        return index;
    }
}

